package creacionales.factory;

import org.junit.Test;

/**
 * 
 * @author <strong>Julio Alejandro Larosa </strong> <br>
 * <b>Fuente:</b> Patrones de diseño Gamma. GOF.
 * <br>
 * <b>Patron Abstract Factory y factory Method</b><br>
 * 
 * <b>Proposito: <b/><br>proporciona una interfaz para crear familias de objetos relacionados o que dependen entre si.
 * Sin especificar sus clases concretas.
 * 
 * <b>Aplicabilidad: <b/><br> 
 * 1- Un sistema debe ser independiente de como se crean, componen y representan sus productos.
 * 2- Un sistema debe ser configurado con una familia de productos entre varias.
 * 3- Una familia de objetos producto relacionados esta diseñada para ser usada conjuntamente y es necesario
 *    hacer cumplir esta restriccion.
 * 4- Quiere proporcionar una biblioteca de clases de productos y solo quiere revelar sus interfaces y no
 *    sus implementaciones.
 */
public class TestFactory {
	
	@Test
	public void test() {
		Torneo torneo = new Torneo();
		torneo.organizarTorneo();
		System.out.println(torneo);
	}

}
